Function: c-after-change-check-<>-operators

c-after-change-check-<>-operators is a byte-compiled function defined in cc-engine.el.gz.

Signature

(c-after-change-check-<>-operators BEG END)

Source Code

;; Defined in /usr/src/emacs/lisp/progmodes/cc-engine.el.gz
(defun c-after-change-check-<>-operators (beg end)
  ;; This is called from `after-change-functions' when
  ;; c-recognize-<>-arglists' is set.  It ensures that no "<" or ">"
  ;; chars with paren syntax become part of another operator like "<<"
  ;; or ">=".
  ;;
  ;; This function might do hidden buffer changes.

  (save-excursion
    (goto-char beg)
    (when (or (looking-at "[<>]")
	      (< (skip-chars-backward "<>") 0))

      (goto-char beg)
      (c-beginning-of-current-token)
      (when (and (< (point) beg)
		 (looking-at c-<>-multichar-token-regexp)
		 (< beg (setq beg (match-end 0))))
	(while (progn (skip-chars-forward "^<>" beg)
		      (< (point) beg))
	  (c-clear-<>-pair-props)
	  (forward-char))))

    (when (< beg end)
      (goto-char end)
      (when (or (looking-at "[<>]")
		(< (skip-chars-backward "<>") 0))

	(goto-char end)
	(c-beginning-of-current-token)
	(when (and (< (point) end)
		   (looking-at c-<>-multichar-token-regexp)
		   (< end (setq end (match-end 0))))
	  (while (progn (skip-chars-forward "^<>" end)
			(< (point) end))
	    (c-clear-<>-pair-props)
	    (forward-char)))))))